//package com.example.yt_app.Othre;
//
//import android.Manifest;
//import android.annotation.SuppressLint;
//import android.content.Intent;
//import android.content.pm.PackageManager;
//import android.os.Bundle;
//import android.text.method.HideReturnsTransformationMethod;
//import android.text.method.PasswordTransformationMethod;
//import android.view.View;
//import android.widget.Button;
//import android.widget.CheckBox;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import androidx.core.app.ActivityCompat;
//import androidx.core.content.ContextCompat;
//
//import com.example.yt_app.Activity.BaseActivity.BaseActivity;
//import com.example.yt_app.Activity.FragmentThreeActivity;
//import com.example.yt_app.Interface.YT_HttpBinService;
//import com.example.yt_app.R;
//import com.example.yt_app.Urils.AESUtils3;
//import com.example.yt_app.Urils.State;
//import com.example.yt_app.bean.BaseResponse;
//import com.gyf.immersionbar.BarHide;
//import com.gyf.immersionbar.ImmersionBar;
//
//import org.jetbrains.annotations.NotNull;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import io.reactivex.Observable;
//import io.reactivex.Observer;
//import io.reactivex.disposables.Disposable;
//import retrofit2.Call;
//import retrofit2.Retrofit;
//import retrofit2.converter.gson.GsonConverterFactory;
//
///**
// * Created by dell on 2021/7/15.
// */
//
//public class Password_login extends BaseActivity {
//    /*电话*/
//    private static String tel = "16600010086";
//    /*密码*/
//    private static String pad = "123456";
//
//    protected int getLayoutId() {
//        return R.layout.activity_login;
//    }
//    //获取控件
//    /**选择登录方式*/
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.zhenghao_login)
//    TextView zhenghao_login;
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.phone_login)
//    TextView phone_login;
//    /**用户与密码*/
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.username_et)
//    EditText username_et;
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.password_et)
//    EditText password_et;
//    /**忘记密码*/
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.forget_user)
//    TextView forget_user;
//    /**登录*/
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.login_bt)
//    Button login_bt;
//    /**密码可看*/
//    @SuppressLint("NonConstantResourceId")
//    @BindView(R.id.eye)
//    ImageView eye;
//    String getMag;
//    /*端口链接*/
//    Retrofit YT_retrofit =  new Retrofit
//            .Builder()
//            .addConverterFactory(GsonConverterFactory.create())//添加转换器
//            .baseUrl("http://8.129.133.124:8200/")
//            .build();
//    YT_HttpBinService yt_httpBinService =YT_retrofit.create(YT_HttpBinService.class);
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_login);
//        //绑定处理
//        ButterKnife.bind(this);
//        password_et.setText(pad);
//        username_et.setText(tel);
//        requestPower();
//        /*复选框事件*/
//        CheckBox buttonc_ok = findViewById(R.id.Buttonc_ok);
//        //隐藏状态栏
//        ImmersionBar.with(this).hideBar(BarHide.FLAG_HIDE_STATUS_BAR).init();
//        //给CheckBox设置事件监听
//        buttonc_ok.setOnCheckedChangeListener((buttonView, isChecked) -> {
//            // TODO Auto-generated method stub
//            State.READ = isChecked;
//        });
//    }
//
//
//    /**
//     * TODO RX思维
//     * */
//    public void RxAsync(){
//        /*
//         * TODO RX思维
//         * */
//
//        Observable.just(YT_retrofit)
//                .subscribe(new Observer<Retrofit>() {
//                    /*订阅成功*/
//                    @Override
//                    public void onSubscribe(@NotNull Disposable d) {
//                        tel = username_et.getText().toString();
//                        pad = password_et.getText().toString();
//                        pad = AESUtils3.encryptSalt(pad);
//                        //返回状态
//                        if (State.READ){
//                            //工作
//                            postAsync();
//                        }
//                        else {
//                            showMessage("请勾选阅读条例");
//                        }
//                    }
//                    /*上层给我的相应*/
//                    @Override
//                    public void onNext(@NotNull Retrofit retrofit) {
//
//                    }
//                    /*连接思维发生异常*/
//                    @Override
//                    public void onError(@NotNull Throwable e) {
//
//                    }
//
//                    @Override
//                    public void onComplete() {
//
//                    }
//                });
//
//    }
//
//    /**
//     * 功能：手机请求接口数据的（异步请求）
//     * 作用：验证登录数据是否正确
//     * 注释：现在主流常用是异步
//     * */
//    public void postAsync(){
//
//        Call<BaseResponse> call = yt_httpBinService.login(tel, pad);
//        call.enqueue(new retrofit2.Callback<BaseResponse>() {
//            @Override
//            public void onResponse(@NotNull retrofit2.Call<BaseResponse> call, @NotNull retrofit2.Response<BaseResponse> response) {
//                BaseResponse baseResponse = response.body();
//                assert baseResponse != null;
//                getMag = baseResponse.getMsg();
//                State.LOGIN = baseResponse.getSuccess();
//
//                if (State.LOGIN == true ){
//                    Intent Intent = new Intent(Password_login.this, FragmentThreeActivity.class);
//                    startActivity(Intent);
//                    //PopupActivity.showPopup(Gravity.TOP, ViewGroup.LayoutParams.MATCH_PARENT, widthAndHeight[1] / 4, R.style.TopAnimation);
//                    showMessage("登录成功");
//                }else {
//                    showMessage(getMag);
//                }
//
//            }
//            @Override
//            public void onFailure(retrofit2.Call<BaseResponse> call, Throwable t) {
//            }
//        });
//
//    }
//
//    /**
//     * 功能：消息通知栏
//     * 作用：通知用户现在的进程
//     *
//     * */
//    public void showMessage(String message) {
//        /*
//         * 线程里面需要使用到
//         * Looper.prepare();
//         * Looper.loop();
//         * */
//        Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
//    }
//    /**
//     * 点击事件
//     * */
//    @OnClick({R.id.eye, R.id.login_bt,R.id.phone_login})
//    public void onClick(View v) {
//        switch (v.getId()){
//            /**
//             *  密码保密
//             * */
//            case R.id.eye:
//                if(State.LOOK  == false){
//                    password_et.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
//                    eye.setImageResource(R.mipmap.eye_1);
//                    State.LOOK = true;
//                }else{
//                    password_et.setTransformationMethod(PasswordTransformationMethod.getInstance());
//                    State.LOOK = false;
//                    eye.setImageResource(R.mipmap.eye);
//                }
//                break;
//            /**
//             * 设置登录的点击事件
//             * */
//            case R.id.login_bt:
//                /*密码*/
//                RxAsync();
//                break;
//            /**
//             * 设置电话登录的点击事件
//             * */
//            case R.id.phone_login:
//                Intent Intent = new Intent(Password_login.this, FragmentThreeActivity.class);
//                startActivity(Intent);
//                tel = "";pad = "";
//                break;
//
//        }
//    }
//    /**
//     *  动态赋予权限
//     * */
//    public void requestPower() {
//        //判断是否已经赋予权限
//        //如果应用之前请求过此权限但用户拒绝了请求，此方法将返回 true。
//        if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED)
//            //申请权限，字符串数组内是一个或多个要申请的权限，1是申请权限结果的返回参数，在onRequestPermissionsResult可以得知申请结果
//            if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) {
//                //这里可以写个对话框之类的项向用户解释为什么要申请权限，并在对话框的确认键后续再次申请权限.它在用户选择"不再询问"的情况下返回false
//            } else
//                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
//
//    }
//
//}
